home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (C) 1986-2001 by Digital Mars. $Revision: 1.1.1.1 $ */
- #if __SC__ || __RCC__
- #pragma once
- #endif
-
- #ifndef __IO_H
- #define __IO_H 1
-
- #if __cplusplus
- extern "C" {
- #endif
-
- /* Define _CRTAPI1 (for compatibility with the NT SDK) */
- #ifndef _CRTAPI1
- #define _CRTAPI1 __cdecl
- #endif
-
- /* Define _CRTAPI2 (for compatibility with the NT SDK) */
- #ifndef _CRTAPI2
- #define _CRTAPI2 __cdecl
- #endif
-
- /* Define CRTIMP */
- #ifndef _CRTIMP
- #if defined(_WIN32) && defined(_DLL)
- #define _CRTIMP __declspec(dllimport)
- #else
- #define _CRTIMP
- #endif
- #endif
-
- #if __OS2__ && __INTSIZE == 4
- #define __CLIB __stdcall
- #else
- #define __CLIB __cdecl
- #endif
-
- #ifndef __STDC__
- #if !defined(_WCHAR_T_DEFINED)
- typedef unsigned short wchar_t;
- #define _WCHAR_T_DEFINED 1
- #endif
- #endif
-
- _CRTIMP int __CLIB read(int,void *,unsigned);
- _CRTIMP int __CLIB write(int,const void *,unsigned);
- #define _read read
- #define _write write
-
- #if __INTSIZE == 2
- int __CLIB _readx(int,void *,unsigned,unsigned);
- int __CLIB _writex(int,void *,unsigned,unsigned);
- #endif
-
- #if M_UNIX || M_XENIX
- char __CLIB *ttyname(int filedes);
- int __CLIB rdchk(int filedes);
- int __cdecl ioctl(int filedes, int cmd,...);
- long __cdecl ulimit(int,long);
- #else
- int __cdecl dos_open(const char *,int);
- int __cdecl sopen(const char *, int, int, ...);
- int __CLIB setmode(int,int);
- int __cdecl _umask(int mask);
- int __CLIB chmod(const char *,int);
- #define _setmode setmode
- #define _sopen sopen
- #define umode _umode
- #define umask _umask
- #endif
-
- struct ftime
- {
- unsigned ft_tsec : 5;
- unsigned ft_min : 6;
- unsigned ft_hour : 5;
- unsigned ft_day : 5;
- unsigned ft_month : 4;
- unsigned ft_year : 7;
- };
-
- #ifndef __NT__
- #ifndef DOS386
- int __CLIB getftime(int FHdl, struct ftime *FtPtr);
- int __CLIB setftime(int handle, struct ftime *ptr);
- int __CLIB lock(int FHdl, long Offset, long Size);
- int __CLIB unlock(int handle, long offset, long length);
- #endif /* DOS386 */
- #endif
-
- int __cdecl creatnew(const char *, int);
- int __cdecl creattemp(char *, int);
- int __cdecl open(const char *,int,...);
- int __CLIB creat(const char *,int);
- int __CLIB close(int);
- int __CLIB locking(int, int, long);
- int __CLIB _commit(int);
- int __CLIB eof(int handle);
- int __CLIB rename(const char *, const char *);
- #define _open open
- #define _close close
- #define _creat creat
- #define _locking locking
- #define _eof eof
-
- #ifdef __NT__
- long __CLIB _get_osfhandle(int);
- int __CLIB _open_osfhandle(long,int);
- #endif
-
- int __CLIB unlink(const char *);
- #define _unlink unlink
-
- int __CLIB remove(const char *);
- int __CLIB chsize(int, long);
- #define _chsize chsize
- #define tell( handle ) _lseek( handle, 0L, SEEK_CUR )
- #define _tell tell
-
- #define _chmod chmod
-
- int __CLIB dup(int);
- int __CLIB _dup(int);
- int __CLIB dup2(int, int);
- char * __CLIB mktemp(char *);
- #define _mktemp mktemp
- #define _dup2 dup2
-
- int __CLIB access(const char *,int);
- #define _access access
-
- #define F_OK 0
- #define X_OK 1
- #define W_OK 2
- #define R_OK 4
-
- long __CLIB lseek(int,long,int);
- #define _lseek lseek
- #define SEEK_SET 0
- #define SEEK_CUR 1
- #define SEEK_END 2
-
- long __CLIB filesize(const char *);
- long __CLIB filelength(int);
- int __CLIB isatty(int);
- #define _filelength filelength
- #define _isatty isatty
-
- unsigned short __CLIB getDS(void);
-
- #ifndef __STDC__
- #define getDS() ((unsigned short)__emit__(0x8C,0xD8))
- #endif
-
- #ifdef __NT__
- #ifndef __STDC__
- int __CLIB _wsopen(const wchar_t *, int, int, ...);
- int __CLIB _wchmod(const wchar_t *, int);
- int __CLIB _wopen(const wchar_t *,int,...);
- int __CLIB _wcreat(const wchar_t *,int);
- int __CLIB _wrename(const wchar_t *, const wchar_t *);
- int __CLIB _wunlink(const wchar_t *);
- wchar_t * __CLIB _wmktemp(wchar_t *);
- int __CLIB _waccess(const wchar_t *, int);
- #endif
- #endif
-
- #if __cplusplus
- }
- #endif
-
- #endif
-